﻿#pragma warning disable IDE1006
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WUDI.ECharts.Toolbox.Feature.DataView
{
	/// <summary>
	/// 数据视图工具，可以展现当前图表所用的数据，编辑后可以动态更新。
	/// </summary>
	public class DataView
	{

		/// <summary>
		/// 是否显示该工具。
		/// </summary>
		public dynamic show { get; set; }  = true;

		public dynamic title { get; set; }  = "数据视图";

		/// <summary>
		/// 可以通过 image://url 设置为图片，其中 URL 为图片的链接，或者 dataURI
		/// <para>
		/// 可以通过 path:// 将图标设置为任意的矢量路径
		/// </para>
		/// <para>
		/// 这种方式相比于使用图片的方式，不用担心因为缩放而产生锯齿或模糊，而且可以设置为任意颜色
		/// </para>
		/// <para>
		/// 路径图形会自适应调整为合适的大小
		/// </para>
		/// <para>
		/// 路径的格式参见 SVG PathData
		/// </para>
		/// <para>
		/// <see href="http://www.w3.org/TR/SVG/paths.html#PathData"/>
		/// </para>
		/// <para>
		/// 可以从 Adobe Illustrator 等工具编辑导出
		/// </para>
		/// </summary>
		public dynamic icon { get; set; } 

		/// <summary>
		/// 数据视图 icon 样式设置
		/// <para>
		/// 由于 icon 的文本信息只在 icon hover 时候才显示，所以文字相关的配置项请在 emphasis 下设置
		/// </para>
		/// </summary>
		public WUDI.ECharts.Toolbox.Feature.DataView.IconStyle iconStyle { get; set; } 

		public WUDI.ECharts.Toolbox.Feature.DataView.Emphasis.Emphasis emphasis { get; set; } 

		/// <summary>
		/// 是否不可编辑（只读）。
		/// </summary>
		public dynamic readOnly { get; set; }  = false;

		/// <summary>
		/// 自定义 dataView 展现函数，用以取代默认的 textarea 使用更丰富的数据编辑
		/// <para>
		/// 可以返回 dom 对象或者 html 字符串
		/// </para>
		/// </summary>
		public dynamic optionToContent { get; set; } 

		/// <summary>
		/// 在使用 optionToContent 的情况下，如果支持数据编辑后的刷新，需要自行通过该函数实现组装 option 的逻辑。
		/// </summary>
		public dynamic contentToOption { get; set; } 

		/// <summary>
		/// 数据视图上有三个话术，默认是[数据视图, 关闭, 刷新]。
		/// </summary>
		public dynamic lang { get; set; }  = "['数据视图', '关闭', '刷新']";

		/// <summary>
		/// 数据视图浮层背景色。
		/// </summary>
		public dynamic backgroundColor { get; set; }  = "#fff";

		/// <summary>
		/// 数据视图浮层文本输入区背景色。
		/// </summary>
		public dynamic textareaColor { get; set; }  = "#fff";

		/// <summary>
		/// 数据视图浮层文本输入区边框颜色。
		/// </summary>
		public dynamic textareaBorderColor { get; set; }  = "#333";

		/// <summary>
		/// 文本颜色。
		/// </summary>
		public dynamic textColor { get; set; }  = "#000";

		/// <summary>
		/// 按钮颜色。
		/// </summary>
		public dynamic buttonColor { get; set; }  = "#c23531";

		/// <summary>
		/// 按钮文本颜色。
		/// </summary>
		public dynamic buttonTextColor { get; set; }  = "#fff";

	}
}